CC=gcc
SRC_DIR=source
BIN_DIR=bin
FIO=FileOperator
ENC=encryptor
EXE=demo
CHARSET= -finput-charset=utf-8 -fexec-charset=gbk
PUB = -g -lstdc++ -std=c++17
F1= -L $(PUB) -shared -fPIC $(CHARSET)
FMAIN= -L ./$(BIN_DIR) -l$(ENC) -l$(FIO) $(PUB) $(CHARSET)

ALL: DoMian $(ENC).dll $(FIO).dll demo.exe
.PHONY:ALL

$(ENC).dll: $(SRC_DIR)/$(ENC).c $(SRC_DIR)/$(ENC).h
	$(CC) -o $(BIN_DIR)/$(ENC).dll $(SRC_DIR)/$(ENC).c $(SRC_DIR)/$(ENC).h $(F1)

$(FIO).dll: $(SRC_DIR)/$(FIO).c $(SRC_DIR)/$(FIO).h
	$(CC) -o $(BIN_DIR)/$(FIO).dll $(SRC_DIR)/$(FIO).c $(SRC_DIR)/$(FIO).h $(F1)

$(EXE).exe:$(SRC_DIR)/main.c
	$(CC) -o $(BIN_DIR)/$(EXE).exe $(SRC_DIR)/main.c $(FMAIN)

DoMian:
	@if exist $(BIN_DIR) (del /Q $(BIN_DIR); mkdir $(BIN_DIR)) else (mkdir $(BIN_DIR))

